package com.magicalcoder.youyamvc.app.role.dao;

import com.magicalcoder.youyamvc.app.model.defined.IntegerDate;
import com.magicalcoder.youyamvc.app.model.defined.IntegerObject;
import com.magicalcoder.youyamvc.app.model.Role;
import java.util.List;
import java.util.Map;

/**
* 代码为自动生成 Created by www.magicalcoder.com
* 如果你改变了此类 read 请将此行删除
* 欢迎加入官方QQ群:323237052
*/

public interface RoleDao{
    Role getRole(Map<String, Object> query);
    List<Role> getRoleList(Map<String, Object> query);
    Integer getRoleListCount(Map<String, Object> query);
    Long  insertRole(Role entity);
    Long  replaceRole(Role entity);
    void batchInsertRole(List<Role> list);
    void batchReplaceRole(List<Role> list);
    void batchUpdateRole(List<Role> list);
    void updateRole(Role entity);
    void updateRoleWithoutNull(Role entity);
    void updateRoleByWhereSql(Map<String,Object> entity);

    void truncateRole();
    void deleteRole(Map<String, Object> query);
    void deleteRoleList(Map<String, Object> query);
    void deleteRoleByWhereSql(Map<String, Object> query);
    void batchDeleteRole(List<Long> list);
    void batchDeleteRoleList(List<Role> entityList);
    List<IntegerDate> statisticsDateCountList(Map<String,Object> query);
    List<IntegerDate> statisticsDateIntervalList(Map<String,Object> query);
    List<IntegerObject> statisticsGroupList(Map<String,Object> query);
}
